[essaysir] WEEK 02 Solutions#2681
Conversation
๐ essaysir ๋์ ํ์ต ํํฉ์ด๋ฒ ์ฃผ ์ ์ถ ๋ฌธ์
๋์ ํ์ต ์์ฝ
๋ฌธ์ ํ์ด ํํฉ
๐ค ์ด ๋๊ธ์ GitHub App์ ํตํด ์๋์ผ๋ก ์์ฑ๋์์ต๋๋ค. ๐ข API ์ฌ์ฉ๋ (gpt-5-nano)
|
There was a problem hiding this comment.
์ ์๊ฐ์ dfs ํจ์์ ์ ์ ํ cache๋ง ์ถ๊ฐํด๋ ์๊ฐ๋ณต์ก๋๊ฐ ์์ฒญ๋๊ฒ ์ข์์ง๊ฒ ๊ฐ๋ค์ ( O(N) )!
- memo ๋ฅผ ์ด์ฉํ ์๊ฐ ๋ณต์ก๋ ๋จ์ถ
There was a problem hiding this comment.
์ค ์ด์ ์ ์ ํ ์๊ฐ๋ณต์ก๋๋ค์!
์ ๋ต์ด ํผ๋ณด๋์น ์์ด์ธ๊ฒ๊น์ง ์์ ๋ค๋ฉด ๊ณต๊ฐ๋ณต์ก๋๋ ํจ์ฌ ์ค์ด์ค์ ์์ผ์ค๊ฒ ๊ฐ์์!
๊ณ ์ํ์
จ์ต๋๋ค.
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Brute Force, Hash Map / Hash Set
- ์ค๋ช : ์ธ ๊ฐ์ง ์์ ๋ชจ๋ ์กฐํฉ์ ๋์ดํ๊ณ ํฉ์ด 0์ธ ๊ฒฝ์ฐ๋ฅผ ๊ฑธ๋ฌ๋ด๋ ๋ฐฉ์์ผ๋ก, ๋ฌธ์ ์ ํด๋ฅผ ๋ชจ๋ ํ์ํ๋ brute-force ํจํด์ ๋ํด ์ค๋ณต ์ ๊ฑฐ๋ฅผ ์ํด Hash Set์ ํ์ฉํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n^3) |
| Space | O(n^2) |
ํผ๋๋ฐฑ: ์ ์ฒด ๊ฐ๋ฅํ 3์ค ๋ฃจํ๋ฅผ ํตํด ๊ฒฝ์ฐ๋ฅผ ๋ชจ๋ ๋์ดํ ๋ค ํฉ์ด 0์ธ ๊ฒฝ์ฐ๋ฅผ Set์ ์ ์ฅํ๋ฏ๋ก ๋นํจ์จ์ ์ด๋ค. ์ค๋ณต ์ ๊ฑฐ๋ LinkedHashSet์ผ๋ก ์ํ๋๋ ์๊ฐ์ ๊ธ๊ฒฉํ ์ฆ๊ฐํ๋ค.
๊ฐ์ ์ ์: ๊ณ ๋ คํด๋ณผ ๋งํ ๋์: ํฌ ํฌ์ธํฐ๋ฅผ ์ด์ฉํ ์ ๋ ฌ ํ O(n^2) ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ๊ตฌํํ์ฌ ์๊ฐ ๋ณต์ก๋๋ฅผ ํฌ๊ฒ ๋ฎ์ถ ์ ์๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Dynamic Programming, Hash Map / Hash Set
- ์ค๋ช : ์ฝ๋๊ฐ ์ฌ๊ท๋ก ํผ๋ณด๋์น ํํ์ ์ค๋ณต ๋ถ๋ถ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉฐ, memoization์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ํจํด์ ์ฌ์ฉํฉ๋๋ค. ํด์๋งต์ ์ด์ฉํด ์ด๋ฏธ ๊ณ์ฐํ ๊ฐ์ cachingํฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(n) |
ํผ๋๋ฐฑ: ๋ฉ๋ชจํ๋ฅผ ํตํด ์ค๋ณต ๊ณ์ฐ์ ์ ๊ฑฐํ์ง๋ง ์ฌ๊ท ํธ์ถ๋ก ๊น์ด๊ฐ ์ปค์ง๋ฉด ์คํ์ค๋ฒํ๋ก๊ฐ ๋ฐ์ํ ์ ์๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Greedy, Division
- ์ค๋ช : ๋ฐฐ์ด ์์์ ๊ณฑ์ ๊ฐ ์์น์์ ๋๋์ด ๊ตฌํ๋ ๋ฐฉ์์ ๋ถํ ์์ด ์ ์ฒด ๊ณฑ์ ํ ๋ฒ ๊ณ์ฐํ ๋ค ๊ฐ ์์๋ก ๋๋๋ ์์ด๋์ด๋ก, ํ์์ด๋ ์ต์ ํ๋ณด๋ค๋ ๊ฐ์ ์กฐํฉ ๊ท์น์ ์์กดํ๋ ํจํด์ ๋๋ค. ๋ํ 0 ์ฒ๋ฆฌ ๋ก์ง์ด ์กฐ๊ฑด ๋ถ๊ธฐ๋ก ๊ตฌ์ฑ๋์ด ์์ด ๊ฐ์ ์ ์ผ๋ก Greedy ์ฑ๊ฒฉ์ ์ ํ์ ํ๋จ์ด ํฌํจ๋ฉ๋๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(1) |
ํผ๋๋ฐฑ: 0์ ๊ฐ์์ ๋ฐ๋ฅธ ๋ถ๊ธฐ ์ฒ๋ฆฌ๋ก 0์ด ๋ค์ ์์ ๋๋ ์ฌ๋ฐ๋ฅด๊ฒ ๋์ํ๋ค.
๊ฐ์ ์ ์: 0 ์ ๊ฑฐ ์์ด ์ข์ฐ ๋์ ๊ณฑ์ ๋ ๋ฐฐ์ด๋ก ๊ตฌํด๋ ๋์ผํ ์๊ฐ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋, ์ถ๋ ฅ ๊ณต๊ฐ์ ๋์ผํ๊ฒ ์ ์ง๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Hash Map / Hash Set
- ์ค๋ช : ๋ ๋ฌธ์์ด์ ๋ฌธ์ ๋น๋์๋ฅผ ํด์ ๋งต์ผ๋ก ๋น๊ตํ๋ ๋ฐฉ์์ผ๋ก ์๋๊ทธ๋จ ์ฌ๋ถ๋ฅผ ํ๋จํ๋ค. ๊ฐ ๋ฌธ์ ๋ฑ์ฅ ํ์๋ฅผ ๋งต์ ๋์ ํ๊ณ ์ต์ข ์ ์ผ๋ก ๋ ๋งต์ ๋์ผ์ฑ์ผ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n + m) |
| Space | O(k) |
ํผ๋๋ฐฑ: ๋ ๋งต์ ๋น๊ตํ๋ ๋จ์ ๊ตฌํ์ผ๋ก ์ง๊ด์ ์ด์ง๋ง, ๋ฐฐ์ด ์ฐจ์์ผ๋ก ์ต์ ํ ๊ฐ๋ฅํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
There was a problem hiding this comment.
๐ท๏ธ ์๊ณ ๋ฆฌ์ฆ ํจํด ๋ถ์
- ํจํด: Binary Search, Divide and Conquer
- ์ค๋ช : BST ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ์ํํ๋ฉฐ, ๊ฐ ๋ ธ๋์ ๋ํด ํ์ฉ ๋ฒ์๋ฅผ ์ขํ๊ฐ๋ฉฐ(left<๊ฐ<right) ์ฌ๋ฐ๋ฅธ ์ด์ง ํ์ ํธ๋ฆฌ์ธ์ง ํ์ธํ๋ค. ๋ถํ ํ์ฌ ๋ฌธ์ ๋ฅผ ๋ถ๋ถ ๋ฌธ์ ๋ก ํด๊ฒฐํ๋ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ ํจํด์ด๋ค.
๐ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋ ๋ถ์
| ๋ณต์ก๋ | |
|---|---|
| Time | O(n) |
| Space | O(h) |
ํผ๋๋ฐฑ: ์ ํ์ ์ธ ์ต์-์ ์ต๋ ๋ฒ์ ๊ฒ์ฌ๋ฅผ ํตํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค. ์์/์์ ๊ฒฝ๊ณ๋ ์์ ํ๊ฒ ์ฒ๋ฆฌํ๋ค.
๊ฐ์ ์ ์: ํ์ฌ ๊ตฌํ์ด ์ ์ ํด ๋ณด์ ๋๋ค.
๐ก ํ์ด์ ์๊ฐ/๊ณต๊ฐ ๋ณต์ก๋๋ฅผ ์ฃผ์์ผ๋ก ๋จ๊ฒจ๋ณด์ธ์!
๋ต์ ์ ์ถ ๋ฌธ์
์์ฑ์ ์ฒดํฌ ๋ฆฌ์คํธ
In Review๋ก ์ค์ ํด์ฃผ์ธ์.๊ฒํ ์ ์ฒดํฌ ๋ฆฌ์คํธ
Important
๋ณธ์ธ ๋ต์ ์ ์ถ ๋ฟ๋ง ์๋๋ผ ๋ค๋ฅธ ๋ถ PR ํ๋ ์ด์์ ๋ฐ๋์ ๊ฒํ ๋ฅผ ํด์ฃผ์ ์ผ ํฉ๋๋ค!